using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace DSEngine.Core
{
    public class BaseObject : IObject
    {
        public BaseObject()
        {
            IsDisposed = false;
            Alpha = 1f;
            Rotation = 0;
            Scale = Vector2.Zero;
        }
        public float X
        {
            get
            {
                return this.Position.X;
            }
            set 
            {
                Vector2 v= this.Position;
                v.X = value;
                this.Position = v;
            }

        }
        public float Y
        {
            get
            {
                return this.Position.Y;
            }
            set
            {
                Vector2 v = this.Position;
                v.Y = value;
                this.Position = v;
            }
        }
        public virtual Vector2 Position { get; set; }
        public virtual float Alpha { get; set; }
        public virtual Vector2 Scale { get; set; }
        public virtual float Rotation { get; set; }
        public object Tag { get; set; }
        public bool IsDisposed { get; set; }

        public virtual void Draw(Microsoft.Xna.Framework.GameTime gameTime)
        {
        }
        public virtual void Update(Microsoft.Xna.Framework.GameTime gameTime)
        {
        }
        public virtual void Dispose()
        {
            IsDisposed = true;
        }
    }
}
